/**
 * 
 */
package roborally.script;

import roborally.model.Robot;
import be.kuleuven.cs.som.annotate.*;
import be.kuleuven.cs.som.taglet.*;

/**
 * @author Joren VERSPEURT
 * @author Mathieu REYMOND
 * @version 3.0
 * 
 * The superclass for all non-composed commands possible in RoboRally. This includes Move, PickupAndUse, Shoot and Turn.
 */
public abstract class SingleCommand extends Command {
	
	/**
	 * Create a new SingleCommand with a given Robot.
	 * @param robot The Robot this SingleCommand will apply to.
	 */
	protected SingleCommand(Robot robot){
		super(robot);
	}
	
	/**
	 * Execute one step of the Command.
	 * @effect The Command will be executed.
	 */
	@Override
	public void step(){
		setExecuted(true);
	}

}
